package com.wanwu.channel.dao.entity;

import org.apache.commons.lang3.builder.ReflectionToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.lang.reflect.Field;
import java.util.Date;

public class ChannelDomesticDKEntity extends BaseEntity {

    private String bizOrderNo;

    private String channelNo;

    private String thirdOrderNo;

    private String serialNo;

    private String batchNo;

    private String bizCode;

    private Long amount;

    private String currency;

    private String tradeDesc;

    private Integer tradeStatus;

    private String payeeName;

    private String payeeMobile;

    private String payeeCardNo;

    private String payeeCardType;

    private String payeeCertNo;

    private String payeeCertType;

    private Integer isSingle;

    private Integer isOuter;

    private Integer isPub;

    private String address;

    private String bankName;

    private String bankUnionNo;

    private String userIp;

    private String merchantNo;

    private String areaCode;

    private String merchantName;

    private String thirdRtnCode;

    private String thirdRtnMsg;

    private String thirdStatus;

    private String channelCode;

    private Date createTime;

    private Date updateTime;

    private Date finishTime;

    private String mapstr;

    private Date accFinishTime;

    private Date execTime;

    private String notifyUrl;

    public String getBizOrderNo() {
        return bizOrderNo;
    }

    public void setBizOrderNo(String bizOrderNo) {
        this.bizOrderNo = bizOrderNo == null ? null : bizOrderNo.trim();
    }

    public String getChannelNo() {
        return channelNo;
    }

    public void setChannelNo(String channelNo) {
        this.channelNo = channelNo == null ? null : channelNo.trim();
    }

    public String getThirdOrderNo() {
        return thirdOrderNo;
    }

    public void setThirdOrderNo(String thirdOrderNo) {
        this.thirdOrderNo = thirdOrderNo == null ? null : thirdOrderNo.trim();
    }

    public String getSerialNo() {
        return serialNo;
    }

    public void setSerialNo(String serialNo) {
        this.serialNo = serialNo == null ? null : serialNo.trim();
    }

    public String getBatchNo() {
        return batchNo;
    }

    public void setBatchNo(String batchNo) {
        this.batchNo = batchNo == null ? null : batchNo.trim();
    }

    public String getBizCode() {
        return bizCode;
    }

    public void setBizCode(String bizCode) {
        this.bizCode = bizCode == null ? null : bizCode.trim();
    }

    public Long getAmount() {
        return amount;
    }

    public void setAmount(Long amount) {
        this.amount = amount;
    }

    public String getCurrency() {
        return currency;
    }

    public void setCurrency(String currency) {
        this.currency = currency == null ? null : currency.trim();
    }

    public String getTradeDesc() {
        return tradeDesc;
    }

    public void setTradeDesc(String tradeDesc) {
        this.tradeDesc = tradeDesc == null ? null : tradeDesc.trim();
    }

    public Integer getTradeStatus() {
        return tradeStatus;
    }

    public void setTradeStatus(Integer tradeStatus) {
        this.tradeStatus = tradeStatus;
    }

    public String getPayeeName() {
        return payeeName;
    }

    public void setPayeeName(String payeeName) {
        this.payeeName = payeeName == null ? null : payeeName.trim();
    }

    public String getPayeeMobile() {
        return payeeMobile;
    }

    public void setPayeeMobile(String payeeMobile) {
        this.payeeMobile = payeeMobile == null ? null : payeeMobile.trim();
    }

    public String getPayeeCardNo() {
        return payeeCardNo;
    }

    public void setPayeeCardNo(String payeeCardNo) {
        this.payeeCardNo = payeeCardNo == null ? null : payeeCardNo.trim();
    }

    public String getPayeeCardType() {
        return payeeCardType;
    }

    public void setPayeeCardType(String payeeCardType) {
        this.payeeCardType = payeeCardType == null ? null : payeeCardType.trim();
    }

    public String getPayeeCertNo() {
        return payeeCertNo;
    }

    public void setPayeeCertNo(String payeeCertNo) {
        this.payeeCertNo = payeeCertNo == null ? null : payeeCertNo.trim();
    }

    public String getPayeeCertType() {
        return payeeCertType;
    }

    public void setPayeeCertType(String payeeCertType) {
        this.payeeCertType = payeeCertType == null ? null : payeeCertType.trim();
    }

    public Integer getIsSingle() {
        return isSingle;
    }

    public void setIsSingle(Integer isSingle) {
        this.isSingle = isSingle;
    }

    public Integer getIsOuter() {
        return isOuter;
    }

    public void setIsOuter(Integer isOuter) {
        this.isOuter = isOuter;
    }

    public Integer getIsPub() {
        return isPub;
    }

    public void setIsPub(Integer isPub) {
        this.isPub = isPub;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address == null ? null : address.trim();
    }

    public String getBankName() {
        return bankName;
    }

    public void setBankName(String bankName) {
        this.bankName = bankName == null ? null : bankName.trim();
    }

    public String getBankUnionNo() {
        return bankUnionNo;
    }

    public void setBankUnionNo(String bankUnionNo) {
        this.bankUnionNo = bankUnionNo == null ? null : bankUnionNo.trim();
    }

    public String getUserIp() {
        return userIp;
    }

    public void setUserIp(String userIp) {
        this.userIp = userIp == null ? null : userIp.trim();
    }

    public String getMerchantNo() {
        return merchantNo;
    }

    public void setMerchantNo(String merchantNo) {
        this.merchantNo = merchantNo == null ? null : merchantNo.trim();
    }

    public String getAreaCode() {
        return areaCode;
    }

    public void setAreaCode(String areaCode) {
        this.areaCode = areaCode == null ? null : areaCode.trim();
    }

    public String getMerchantName() {
        return merchantName;
    }

    public void setMerchantName(String merchantName) {
        this.merchantName = merchantName == null ? null : merchantName.trim();
    }

    public String getThirdRtnCode() {
        return thirdRtnCode;
    }

    public void setThirdRtnCode(String thirdRtnCode) {
        this.thirdRtnCode = thirdRtnCode == null ? null : thirdRtnCode.trim();
    }

    public String getThirdRtnMsg() {
        return thirdRtnMsg;
    }

    public void setThirdRtnMsg(String thirdRtnMsg) {
        this.thirdRtnMsg = thirdRtnMsg == null ? null : thirdRtnMsg.trim();
    }

    public String getThirdStatus() {
        return thirdStatus;
    }

    public void setThirdStatus(String thirdStatus) {
        this.thirdStatus = thirdStatus == null ? null : thirdStatus.trim();
    }

    public String getChannelCode() {
        return channelCode;
    }

    public void setChannelCode(String channelCode) {
        this.channelCode = channelCode == null ? null : channelCode.trim();
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    public Date getFinishTime() {
        return finishTime;
    }

    public void setFinishTime(Date finishTime) {
        this.finishTime = finishTime;
    }

    public String getMapstr() {
        return mapstr;
    }

    public void setMapstr(String mapstr) {
        this.mapstr = mapstr == null ? null : mapstr.trim();
    }

    public Date getAccFinishTime() {
        return accFinishTime;
    }

    public void setAccFinishTime(Date accFinishTime) {
        this.accFinishTime = accFinishTime;
    }

    public Date getExecTime() {
        return execTime;
    }

    public void setExecTime(Date execTime) {
        this.execTime = execTime;
    }

    public String getNotifyUrl() {
        return notifyUrl;
    }

    public void setNotifyUrl(String notifyUrl) {
        this.notifyUrl = notifyUrl == null ? null : notifyUrl.trim();
    }

    /**
     * 敏感数据过滤
     * @return
     */
    @Override
    public String toString() {
        return (new ReflectionToStringBuilder(this, ToStringStyle.JSON_STYLE) {
            @Override
            protected boolean accept(Field f) {
                return super.accept(f) && !f.getName().equals("payeeName") && !f.getName().equals("payeeMobile") && !f.getName().equals("payeeCertNo");
            }
        }).toString();
    }
}